{
 "metadata": {
  "name": "",
  "signature": "sha256:73c315ed3e5b5fa0979efe9383bb35c5c0dbba7797a4ebe652eaa3fdf043b56d"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "# Sizing of clock meshes\n",
      "\n",
      "Original by Lieven Vanderberghe.<br>\n",
      "Adapted to CVX by Argyris Zymnis, 12/4/2005.<br>\n",
      "Modified by Michael Grant, 3/8/2006.<br>\n",
      "Adapted to CVXPY, with cosmetic modifications, by Judson Wilson, 5/26/2014.<br>\n",
      "\n",
      "Topic References:\n",
      "\n",
      "* Section 4, L. Vandenberghe, S. Boyd, and A. El Gamal<br>\n",
      "  \"Optimal Wire and Transistor Sizing for Circuits with Non-Tree Topology\"\n",
      "\n",
      "## Introduction\n",
      "\n",
      "We consider the problem of sizing a clock mesh, so as to minimize the\n",
      "total dissipated power under a constraint on the dominant time constant.\n",
      "The numbers of nodes in the mesh is $N$ per row or column (thus $n=(N+1)^2$\n",
      "in total). We divide the wire into m segments of width $x_i$, $i = 1,\\dots,m$\n",
      "which is constrained as $0 \\le x_i \\le W_{\\mbox{max}}$. We use a pi-model of each wire\n",
      "segment, with capacitance $\\beta_i x_i$ and conductance $\\alpha_i x_i$.\n",
      "Defining $C(x) = C_0+x_1 C_1 + x_2 C_ 2 + \\cdots + x_m C_m$ we have that the dissipated\n",
      "power is equal to $\\mathbf{1}^T C(x) \\mathbf{1}$. Thus to minimize the\n",
      "dissipated power subject to a constraint in the widths and a constraint\n",
      "in the dominant time constant, we solve the SDP\n",
      "    \\begin{array}{ll}\n",
      "    \\mbox{minimize}   & \\mathbf{1}^T C(x) \\mathbf{1}   \\\\\n",
      "    \\mbox{subject to} &  T_{\\mbox{max}} G(x) - C(x) \\succeq 0 \\\\\n",
      "                      & 0 \\le x_i \\le W_{\\mbox{max}}.\n",
      "    \\end{array}\n",
      "\n",
      "## Import and setup packages"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import cvxpy as cvx\n",
      "import numpy as np\n",
      "import scipy as scipy\n",
      "import matplotlib.pyplot as plt\n",
      "\n",
      "# Show plots inline in ipython.\n",
      "%matplotlib inline\n",
      "\n",
      "# Plot properties.\n",
      "plt.rc('text', usetex=True)\n",
      "plt.rc('font', family='serif')\n",
      "font = {'family' : 'normal',\n",
      "        'weight' : 'normal',\n",
      "        'size'   : 16}\n",
      "plt.rc('font', **font)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 1
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Helper functions"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# Computes the step response of a linear system.\n",
      "def simple_step(A, B, DT, N):\n",
      "    n  = A.shape[0]\n",
      "    Ad = scipy.linalg.expm((A * DT))\n",
      "    Bd = (Ad - np.eye(n)) * B\n",
      "    Bd = np.linalg.solve(A, Bd)\n",
      "    X  = np.mat(np.zeros((n, N)))\n",
      "    for k in range(1, N):\n",
      "        X[:, k] = Ad * X[:, k-1] + Bd;\n",
      "    return X"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 2
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Generate problem data"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#\n",
      "# Circuit parameters.\n",
      "#\n",
      "\n",
      "dim=4            # Grid is dimxdim (assume dim is even).\n",
      "n=(dim+1)**2     # Number of nodes.\n",
      "m=2*dim*(dim+1)  # Number of wires.\n",
      "                 #   0 ... dim(dim+1)-1 are horizontal segments\n",
      "                 #     (numbered rowwise);\n",
      "                 #   dim(dim+1) ... 2*dim(dim+1)-1 are vertical\n",
      "                 #     (numbered columnwise)\n",
      "beta = 0.5       # Capacitance per segment is twice beta times xi.\n",
      "alpha = 1        # Conductance per segment is alpha times xi.\n",
      "G0 = 1           # Source conductance.\n",
      "C0 = np.array([ (      10,     2,     7,     5,     3),\n",
      "                (       8,     3,     9,     5,     5),\n",
      "                (       1,     8,     4,     9,     3),\n",
      "                (       7,     3,     6,     8,     2),\n",
      "                (       5,     2,     1,     9,    10) ])\n",
      "wmax = 1        # Upper bound on x.\n",
      "\n",
      "#\n",
      "# Build capacitance and conductance matrices.\n",
      "#\n",
      "\n",
      "CC = np.zeros((dim+1, dim+1, dim+1, dim+1, m+1))\n",
      "GG = np.zeros((dim+1, dim+1, dim+1, dim+1, m+1))\n",
      "\n",
      "# Constant terms.\n",
      "# - Reshape order='F' is fortran order to match original\n",
      "#   version in MATLAB code.\n",
      "CC[:, :, :, :, 0] = np.diag(C0.flatten(1)).reshape(dim+1, dim+1,\n",
      "                                dim+1, dim+1, order='F').copy()\n",
      "zo13 = np.zeros((2, 1, 2, 1))\n",
      "zo13[:,0,:,0] = np.mat([(1, 0), (0, 1)])\n",
      "zo24 = np.zeros((1, 2, 1, 2))\n",
      "zo24[0,:,0,:] = zo13[:, 0, :, 0]\n",
      "pn13 = np.zeros((2, 1, 2, 1))\n",
      "pn13[:,0,:,0] = np.mat([(1, -1), (-1, 1)]).reshape(2, 1, 2, 1,\n",
      "                                              order='F').copy()\n",
      "pn24 = np.zeros((1, 2, 1, 2))\n",
      "pn24[0, :, 0, :] = pn13[:, 0, :, 0]\n",
      "\n",
      "for i in range(dim+1):\n",
      "    # Source conductance.\n",
      "    # First driver in the middle of row 1.\n",
      "    GG[dim/2, i, dim/2, i, 0] = G0\n",
      "    for j in range(dim):\n",
      "        # Horizontal segments.\n",
      "        node = 1 + j + i * dim\n",
      "        CC[j:j+2, i, j:j+2, i, node] = beta * zo13[:, 0, :, 0]\n",
      "        GG[j:j+2, i, j:j+2, i, node] = alpha * pn13[:, 0, :, 0]\n",
      "        # Vertical segments.\n",
      "        node = node + dim * ( dim + 1 )\n",
      "        CC[i, j:j+2, i, j:j+2, node] = beta * zo24[0, :, 0, :]\n",
      "        GG[i, j:j+2, i, j:j+2, node] = alpha * pn24[0, :, 0, :]\n",
      "\n",
      "# Reshape for ease of use.\n",
      "CC = CC.reshape((n*n, m+1), order='F').copy()\n",
      "GG = GG.reshape((n*n, m+1), order='F').copy()\n",
      "\n",
      "#\n",
      "# Compute points the tradeoff curve, and the three sample points.\n",
      "#\n",
      "\n",
      "npts    = 50\n",
      "delays  = np.linspace(50, 150, npts)\n",
      "xdelays = [50, 100]\n",
      "xnpts   = len(xdelays)\n",
      "areas   = np.zeros(npts)\n",
      "xareas  = dict()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 3
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Solve problem and display results"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# Iterate over all points, and revisit specific points\n",
      "for i in range(npts + xnpts):\n",
      "    # First pass, only gather minimal data from all cases.\n",
      "    if i < npts:\n",
      "        delay = delays[i]\n",
      "        print( ('Point {} of {} on the tradeoff curve ' \\\n",
      "              + '(Tmax = {})').format(i+1, npts, delay))\n",
      "    # Second pass, gather more data for specific cases,\n",
      "    # and make plots (later).\n",
      "    else:\n",
      "        xi = i - npts\n",
      "        delay = xdelays[xi]\n",
      "        print( ('Particular solution {} of {} ' \\\n",
      "              + '(Tmax = {})').format(xi+1, xnpts, delay))\n",
      "\n",
      "    #\n",
      "    # Construct and solve the convex model.\n",
      "    #\n",
      "\n",
      "    # Variables.\n",
      "    xt = cvx.Variable(m+1) # Element 1 of xt == 1 below.\n",
      "    G = cvx.Variable(n,n)  # Symmetric constraint below.\n",
      "    C = cvx.Variable(n,n)  # Symmetric constraint below.\n",
      "    \n",
      "    # Objective.\n",
      "    obj = cvx.Minimize(cvx.sum_entries(C))\n",
      "\n",
      "    # Constraints.\n",
      "    constraints = [ xt[0] == 1,\n",
      "                    G == G.T,\n",
      "                    C == C.T,\n",
      "                    G == cvx.reshape(GG*xt,n,n),\n",
      "                    C == cvx.reshape(CC*xt,n,n),\n",
      "                    delay * G - C == cvx.semidefinite(n),\n",
      "                    0 <= xt[1:],\n",
      "                    xt[1:] <= wmax,\n",
      "                  ]\n",
      "\n",
      "    #Solve problem\n",
      "    prob = cvx.Problem(obj, constraints)\n",
      "    prob.solve()\n",
      "    if prob.status != cvx.OPTIMAL:\n",
      "        raise Exception('CVXPY Error')\n",
      "    \n",
      "    # Chop off the first element of x, which is \n",
      "    # constrainted to be 1\n",
      "    x = xt.value[1:] \n",
      "\n",
      "    # First pass, only gather minimal data from all cases.\n",
      "    if i < npts:\n",
      "        areas[i] = sum(x)\n",
      "    # Second pass, gather more data for specific cases,\n",
      "    # and make plots.\n",
      "    else:\n",
      "        xareas[xi] = sum(x)\n",
      "\n",
      "        #\n",
      "        # Print display sizes.\n",
      "        #\n",
      "\n",
      "        print 'Solution {}:'.format(xi+1)\n",
      "        print 'Vertical segments:'\n",
      "        print x[0:dim*(dim+1)].reshape(dim, dim+1, order='F').copy()\n",
      "        print 'Horizontal segments:'\n",
      "        print x[dim*(dim+1):].reshape(dim, dim+1, order='F').copy()\n",
      "\n",
      "        #\n",
      "        # Determine and plot the step responses.\n",
      "        #\n",
      "\n",
      "        A = -np.linalg.inv(C.value)*G.value\n",
      "        B = -A*np.ones((n, 1))\n",
      "        T = np.linspace(0, 500, 2000)\n",
      "        Y = simple_step(A, B, T[1], len(T))\n",
      "        indmax = -1\n",
      "        indmin = np.inf\n",
      "        for j in range(Y.shape[0]):\n",
      "            inds = np.amin(np.nonzero(Y[j, :] >= 0.5)[1])\n",
      "            if ( inds > indmax ):\n",
      "               indmax = inds\n",
      "               jmax = j\n",
      "            if ( inds < indmin ):\n",
      "               indmin = inds\n",
      "               jmin = j\n",
      "        tthres = T[indmax]\n",
      "        GinvC  = np.linalg.solve(G.value, C.value)\n",
      "        tdom   = max(np.linalg.eig(GinvC)[0])\n",
      "        elmore = np.amax(np.sum(GinvC.T, 0))\n",
      "        plt.figure(figsize=(8, 8))\n",
      "        plt.plot( T, np.asarray(Y[jmax,:]).flatten(), '-',\n",
      "                  T, np.asarray(Y[jmin,:]).flatten() )\n",
      "        plt.plot( tdom   * np.array([1, 1]), [0, 1], '--',\n",
      "                  elmore * np.array([1, 1]), [0, 1], '--',\n",
      "                  tthres * np.array([1, 1]), [0, 1], '--' )\n",
      "        plt.xlim([0, 500])\n",
      "        plt.ylim([0, 1])\n",
      "        plt.text(tdom, 0.92, 'd')\n",
      "        plt.text(elmore, 0.88, 'e')\n",
      "        plt.text(tthres, 0.96, 't')\n",
      "        plt.text( T[600], Y[jmax, 600], 'v{}'.format(jmax+1))\n",
      "        plt.text( T[600], Y[jmin, 600], 'v{}'.format(jmin+1))\n",
      "        plt.title(('Solution {} (Tmax={}), fastest ' \\\n",
      "                    + 'and slowest step responses').format(xi+1, delay), fontsize=16)\n",
      "        plt.show()\n",
      "\n",
      "#\n",
      "# Plot the tradeoff curve.\n",
      "#\n",
      "\n",
      "plt.figure(figsize=(8, 8))\n",
      "ind = np.isfinite(areas)\n",
      "plt.plot(areas[ind], delays[ind])\n",
      "plt.xlabel('Area')\n",
      "plt.ylabel('Tdom')\n",
      "plt.title('Area-delay tradeoff curve')\n",
      "# Label the specific cases.\n",
      "for k in range(xnpts):\n",
      "    plt.text(xareas[k][0, 0], xdelays[k], '({})'.format(k+1))\n",
      "plt.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Point 1 of 50 on the tradeoff curve (Tmax = 50.0)\n",
        "Point 2 of 50 on the tradeoff curve (Tmax = 52.0408163265)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 3 of 50 on the tradeoff curve (Tmax = 54.0816326531)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 4 of 50 on the tradeoff curve (Tmax = 56.1224489796)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 5 of 50 on the tradeoff curve (Tmax = 58.1632653061)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 6 of 50 on the tradeoff curve (Tmax = 60.2040816327)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 7 of 50 on the tradeoff curve (Tmax = 62.2448979592)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 8 of 50 on the tradeoff curve (Tmax = 64.2857142857)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 9 of 50 on the tradeoff curve (Tmax = 66.3265306122)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 10 of 50 on the tradeoff curve (Tmax = 68.3673469388)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 11 of 50 on the tradeoff curve (Tmax = 70.4081632653)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 12 of 50 on the tradeoff curve (Tmax = 72.4489795918)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 13 of 50 on the tradeoff curve (Tmax = 74.4897959184)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 14 of 50 on the tradeoff curve (Tmax = 76.5306122449)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 15 of 50 on the tradeoff curve (Tmax = 78.5714285714)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 16 of 50 on the tradeoff curve (Tmax = 80.612244898)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 17 of 50 on the tradeoff curve (Tmax = 82.6530612245)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 18 of 50 on the tradeoff curve (Tmax = 84.693877551)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 19 of 50 on the tradeoff curve (Tmax = 86.7346938776)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 20 of 50 on the tradeoff curve (Tmax = 88.7755102041)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 21 of 50 on the tradeoff curve (Tmax = 90.8163265306)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 22 of 50 on the tradeoff curve (Tmax = 92.8571428571)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 23 of 50 on the tradeoff curve (Tmax = 94.8979591837)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 24 of 50 on the tradeoff curve (Tmax = 96.9387755102)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 25 of 50 on the tradeoff curve (Tmax = 98.9795918367)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 26 of 50 on the tradeoff curve (Tmax = 101.020408163)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 27 of 50 on the tradeoff curve (Tmax = 103.06122449)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 28 of 50 on the tradeoff curve (Tmax = 105.102040816)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 29 of 50 on the tradeoff curve (Tmax = 107.142857143)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 30 of 50 on the tradeoff curve (Tmax = 109.183673469)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 31 of 50 on the tradeoff curve (Tmax = 111.224489796)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 32 of 50 on the tradeoff curve (Tmax = 113.265306122)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 33 of 50 on the tradeoff curve (Tmax = 115.306122449)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 34 of 50 on the tradeoff curve (Tmax = 117.346938776)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 35 of 50 on the tradeoff curve (Tmax = 119.387755102)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 36 of 50 on the tradeoff curve (Tmax = 121.428571429)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 37 of 50 on the tradeoff curve (Tmax = 123.469387755)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 38 of 50 on the tradeoff curve (Tmax = 125.510204082)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 39 of 50 on the tradeoff curve (Tmax = 127.551020408)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 40 of 50 on the tradeoff curve (Tmax = 129.591836735)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 41 of 50 on the tradeoff curve (Tmax = 131.632653061)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 42 of 50 on the tradeoff curve (Tmax = 133.673469388)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 43 of 50 on the tradeoff curve (Tmax = 135.714285714)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 44 of 50 on the tradeoff curve (Tmax = 137.755102041)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 45 of 50 on the tradeoff curve (Tmax = 139.795918367)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 46 of 50 on the tradeoff curve (Tmax = 141.836734694)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 47 of 50 on the tradeoff curve (Tmax = 143.87755102)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 48 of 50 on the tradeoff curve (Tmax = 145.918367347)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 49 of 50 on the tradeoff curve (Tmax = 147.959183673)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Point 50 of 50 on the tradeoff curve (Tmax = 150.0)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Particular solution 1 of 2 (Tmax = 50)"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Solution 1:"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Vertical segments:\n",
        "[[ 0.65284882  0.43914815  0.52378621  0.47092764  0.2363529 ]\n",
        " [ 0.99999993  0.85353862  0.99999992  0.93601078  0.56994586]\n",
        " [ 0.92325575  0.29557654  0.80041338  0.99999998  0.99999997]\n",
        " [ 0.41300012  0.13553757  0.2669595   0.67052446  0.88916616]]\n",
        "Horizontal segments:\n",
        "[[  1.96483126e-01   1.40596803e-01   9.70626705e-08   7.79402881e-08\n",
        "    5.27443052e-08]\n",
        " [  7.07398539e-02   6.38484524e-02   1.02140260e-07   8.59944055e-08\n",
        "    6.28925713e-08]\n",
        " [  6.05767602e-09   1.16283806e-08   3.91571854e-08   9.48410302e-02\n",
        "    1.58066266e-01]\n",
        " [  3.82545950e-07   4.85731010e-07   5.75605677e-07   8.39881857e-02\n",
        "    5.38622815e-02]]\n"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nrP9Xii6MAAAAAElFTkSuQmCC\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10be9ad10>"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Particular solution 2 of 2 (Tmax = 100)\n",
        "Solution 2:"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Vertical segments:\n",
        "[[ 0.2687881   0.04368684  0.17122094  0.133796    0.07360396]\n",
        " [ 0.41346231  0.08016135  0.30642705  0.2224136   0.1484946 ]\n",
        " [ 0.25755998  0.08016077  0.11200259  0.38352317  0.28159768]\n",
        " [ 0.13439419  0.04368697  0.02445701  0.24083502  0.24534599]]\n",
        "Horizontal segments:\n",
        "[[  1.53855410e-09  -5.23587127e-10  -9.80490802e-10  -5.24181222e-10\n",
        "    1.57139441e-09]\n",
        " [  9.23247193e-10  -9.62055797e-10  -1.35575286e-09  -1.00214999e-09\n",
        "    1.03091536e-09]\n",
        " [  9.28915561e-10  -9.17583441e-10  -2.28746351e-10  -7.97319598e-10\n",
        "    1.50656575e-09]\n",
        " [  1.31797933e-09  -8.55786438e-10  -1.39925180e-09  -8.38253904e-10\n",
        "    1.27501273e-09]]\n"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10e945a50>"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nAAAASUVORK5CYII=\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10ecffc10>"
       ]
      }
     ],
     "prompt_number": 4
    }
   ],
   "metadata": {}
  }
 ]
}